#ifndef __CLIENT__H__
#define __CLIENT__H__
#include <mysql/mysql.h>
#include "my_head.h"
#include"command.h"
 // 消息头（固定长度，标识类型和数据长度）
 typedef struct {
     int type;       // 命令类型（CommandType枚举）
     int  value_len;   // 数据部分长度（字节）
     char value[1024];    // 保留字段（扩展用）
 } TLVMsg;

typedef struct tool_s{
    char filename[MAX_PATH_LEN];
    char user[MAX_PATH_LEN];
}tool_t;
int pipe_communication(int pipefd_read);

int process_characters(int netfd,char *buf,int pipefd_weite); //输入指令并且判断
int add_epoll(int epfd,int sockfd);   //增加监听
int delet_epoll(int epfd,int sockfd);  //epoll的
int connect_net(char *ip,char *port); //连接网络
int check_command(char *buf);//检查 命令
int receive(int netfd);  //接收处理


int interface();
int enter(int netfd);
int login(int netfd,char *buf);
int mkdir_exclusive(int netfd,TLVMsg msg,int index,char **value);
int reiceive(int netfd);  //接收处理
int transmit(int netfd,int type,int len,char *buf);   //小火车传输
int recvfd(int netfd,TLVMsg *msg);//小火车接收


int mysql_sekect(MYSQL *mysql,char *auf,char *buf);//查找数据
int mysql_database(MYSQL *mysql);//连接数据库
int mysql_add(MYSQL *mysql,char *buf);//增加数据 mysql_sekect(MYSQL *mysql,char buf);//查找数据
int mysql_delete(MYSQL *mysql,char *name);  //修改数据
int register_account(int netfd);  //注册账户
int cencel(MYSQL *mysql,char *buf);  //注销数据
int manage_accounts();    //注销账户


int clicent_login_in(char *user,char *passwd ,int sockfd);
int clicent_sign_in(const char *user,char *passwd,int sockfd);












#endif
